跳到主要内容

版本 维度的服务过滤功能

版本的作用

  • 通过不同版本:来匹配到蓝绿发布。

  • 降级版本:如果服务路由过程中没有找到相应版本的服务实例,会路由到配置的降级版本来做兜底。

  • 版本权重:可以通过配置不同版本的调用权重,来匹配到灰度发布。

版本的设置

在配置中指定开启或关闭(默认关闭状态)

spring:
application:
link-flow:
work:
# 版本规则隔离的开关
version:
activate: true

具体服务自己的版本值通过在项目的配置文件中指定

spring:
cloud:
link-flow:
metadata:
version: 1.0

在项目启动后,就会自动将区域放置在服务中的元数据中

版本配置

版本可以在请求头或者配置中心来指定

请求头方式

  1. 所有服务可以调用的版本都是 version-1 版本
link-flow-version = {"generalVersionRule":"1.0"}
  1. 版本功能调用 version-1 版本的a服务,调用 version-2 版本的b服务
link-flow-version={
"definiteVersionRuleList":[
{"serverName":"a-service","value":"1"},
{"serverName":"b-service","value":"2"}
]
}

配置中心方式

  1. 所有服务可以调用的版本都是 version-1 版本
{"generalVersionRule":"1.0"}
  1. 版本功能调用 version-1 版本的a服务,调用 version-2 版本的b服务
{
"definiteVersionRuleList":[
{"serverName":"a-service","value":"1"},
{"serverName":"b-service","value":"2"}
]
}

流程图